Адміністрація вирішила продати даний сайт. За детальною інформацією звертайтесь за адресою: rozrahu@gmail.com

Лабораторна робота №3 Введення даних з клавіатури та миші

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
ІКНІ
Факультет:
КН
Кафедра:
Інформаційних систем та мереж (ІСМ)

Інформація про роботу

Рік:
2016
Тип роботи:
Лабораторна робота
Предмет:
Проблемно орієнтоване програмування
Група:
КН 27
Варіант:
7

Частина тексту файла

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ "ЛЬВІВСЬКА ПОЛІТЕХНІКА" Кафедра інформаційних систем та мереж Лабораторна робота №3 з курсу «Проблемно-орієнтоване програмування» на тему: «Введення даних з клавіатури та миші» ЛЬВІВ 2016 Мета роботи: Метою роботи є вивчення способів опрацювання повідомлень від клавіатури і миші для введення даних. Теоретичні відомості: Натискання будь-якої клавіші автоматично посилає системі апаратне повідомлення, яке обробляється і надсилається додатком. За цю операцію відповідає повідомлення WM_KEYDOWN. Його опис складно і на даному етапі не має сенсу, так як ми не включили кирилицю. При посилці цього повідомлення вwParameter записується значення натиснутоюклавіші. Звичайно ж, все залежить від клавіатури, розкладки. Тому все кодів для клавіш багато і ми не будемо описувати, що робити при натисканні тієї чи іншої, а просто виключимо значення не потрібних нам клавіш. Ми обробляємо повідомлення WM_KEYDOWN (натискання клавіші). Спочатку ми створюємо перемикач switch для значення wParameter, куди записаний ідентифікатор клавіші.  Ми виключаємо значення home, кінець, вгору на сторінку, вниз на сторінку, стрілка вліво, стрілка вправо, стрілка вгору, стрілка вниз, видаляти, зрушення, простір, Ctrl, ковпачки блокування, Alt, рахунок, Backspace, enter відповідно. Можливо, на Тобто якщо в ідентифікаторі wParameter у нас ці значення, ми нічого не робимо - оператор break. А під значеннями default у нас виконується перетворення. Ми створили статичну рядок типу char з 2-х елементів. Статична вона, тому що в процесі роботи програми ми неодноразово виходимо з WindowProcess() в цикл обробки зGetMessage(), розташований в WinMain(), а значення клавіші нам потрібно зберігати. Ми ініціалізіруем її перший елемент wParameter-ом. Далі викликаємо функцію InvalidateRect(), після чого виходимо з WM_KEYDOWN. Першим параметром йде - дескриптор вікна, другим - область майбутнього «затирання» вікна (NULL - Все вікно перемальовується в WM_PAINT), третім параметром йде «затирання» фону (якщо TRUE, то стираємо). При цьому ми автоматично надсилаємо додатком messageWM_PAINT і вікно перемальовується заново. Для чого це потрібно? У випадках згортання, переміщення вікна викликається WM_PAINT. Нам же це потрібно зробити явно, тобто зробити вікно недійсним, для того, щоб відразу вивести значення натиснутоюклавіші на екран. Інакше вона з'явиться тільки тоді, коли ми почнемо маніпулювати вікном. У ній оголошений екземпляр класу HFONT, який відповідає за шрифт, його розмір та інші премудрості. Він буде використовуватися в WM_PAINT. Є обробник повідомлення WM_CREATE. Він спрацьовує, коли створюється вікно, тобто викликається функціяCreateWindow(). На цьому етапі вирішено створити додаткове вікно з повідомленням для зручності Варіант №7 Порядок виконання роботи 1. Використовуючи рекомендовані літературні джерела та джерела Internet, вивчити API- функції та повідомлення клавіатури і миші для введення даних, необхідних для роботи програми. 2. Ознайомитися з наведеним у роботі прикладом програми роботи з клавіатурою та мишею. 3. Розробити програму згідно виданого завдання. Номери завдань визначаються як залишок від цілочисельного ділення порядкового номера студента (у впорядкованому за алфавітом повному списку студентів групи) на кількість завдань. 4. Реалізувати програму та отримати результат її роботи. / Код програми: // Win32Project1.cpp: определяет точку входа для приложения. // #include "stdafx.h" #include "Win32Project1.h" #include "Resource.h" #define ID_TIMER 1122 #include <windows.h> #define MAXPOINTS 1000 #define MoveTo(hdc, x, y) MoveToEx(hdc, x, y, NULL) LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); //HBRUSH hBrush = HBRUSH(CreateSolidBrush(RGB(255, 235, 205))); void myString( int& i, HDC hdc); void DrawFigures(HWND hWnd); int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow) { wchar_t szAppName[] = L"Connect"; HWND hwnd; MSG msg; WNDCLASSEX w...
Антиботан аватар за замовчуванням

10.11.2016 20:11

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини